package cn.iocoder.yudao.adminserver.modules.live.controller.project.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.util.Date;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT;

/**
* 项目 Base VO，提供给添加、修改、详细的子 VO 使用
* 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
*/
@Data
public class LiveProjectBaseVO {

    @ApiModelProperty(value = "序号")
    private Integer sortNum;

    @ApiModelProperty(value = "项目名称")
    private String projectName;

    @ApiModelProperty(value = "施工人员", required = true)
    @NotNull(message = "施工人员不能为空")
    private Integer userId;

    @ApiModelProperty(value = "责任科室", required = true)
    @NotNull(message = "责任科室不能为空")
    private String department;

    @ApiModelProperty(value = "项目工程开始日前", required = true)
    @NotNull(message = "项目工程开始日前不能为空")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @JsonFormat(pattern=FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND,timezone=TIME_ZONE_DEFAULT)
    private Date projectStartDate;

    @ApiModelProperty(value = "项目工程结束日期", required = true)
    @NotNull(message = "项目工程结束日期不能为空")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @JsonFormat(pattern=FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND,timezone=TIME_ZONE_DEFAULT)
    private Date projectEndDate;

    @ApiModelProperty(value = "年度任务目标", required = true)
    @NotNull(message = "年度任务目标不能为空")
    private String task;

    @ApiModelProperty(value = "项目图片", required = true)
    @NotNull(message = "项目图片不能为空")
    private String image;

}
